# tessera-api

## Özellikler

* Gösteri ekleme
* Gösterileri listeleme
* Bilet satış
* Bilet rezervasyon
* SMS

## Kullanım

#### Yeni gösteri ekleme

```
/yenigosteri/<tarih>/<saat>/<yer>
```

```<tarih>``` alanı GGAAYY şeklinde yazılmalıdır.  
```<saat>``` alanı SSDD şeklinde yazılmalıdır.  

**Örnek kullanım:** ```/yenigosteri/190419/2130/GKM```  

#### Salon durumu

```
/salon/<gosteri>
```  

```<gosteri>``` alanı tarih olarak girilmelidir.  

**Örnek kullanım:** ```/salon/201019```  

Salondaki koltukları JSON formatında döndürür.  

#### Gösterileri listeleme

```
/gosteriler
```  

Gösterileri JSON formatında döndürür.  

#### Bilet satış

```
/satis/<gosteri>/<koltuk>/<tip>/<isim>/<eposta>/<telefon>
```

```<gosteri>``` alanı tarih olarak girilmelidir.    
```<koltuk>``` alanı; sırası küçük harf, numarası sayı olarak girilmelidir.  
```<tip>``` alanı, ücretlendirme tipini belirler. ```tam``` veya ```ogr``` olarak girilmelidir.  
Eğer SMS over XMPP implemente etmeyi düşünüyorsanız, ```<telefon>``` alanını ülke koduyla birlikte yazmanız gerekmektedir.  

**Örnek kullanım:** ```/satis/120519/g18/ogr/Ahmet Yılmaz/ahmet@example.com/+905311111111```

#### Bilet rezervasyon

```
/rezervasyon/<gosteri>/<koltuk>/<tip>/<isim>/<eposta>/<telefon>
```

```<gosteri>``` alanı tarih olarak girilmelidir.  
```<koltuk>``` alanı; sırası küçük harf, numarası sayı olarak girilmelidir.  
```<tip>``` alanı, ücretlendirme tipini belirler. ```tam``` veya ```ogr``` olarak girilmelidir.  
Eğer SMS over XMPP implemente etmeyi düşünüyorsanız, ```<telefon>``` alanını ülke koduyla birlikte yazmanız gerekmektedir.  

**Örnek kullanım:** ```/rezervasyon/120519/g18/ogr/Ahmet Yılmaz/ahmet@example.com/+905311111111```

#### Satılan biletleri listeleme

```
/satilan/<gosteri>
```

```<gosteri>``` alanı tarih olarak girilmelidir. 

Satılan biletleri JSON formatında döndürür.

## JSON dosya açıklamaları

#### gosteriler.json

```json
[
    {
        "saat": "2000",
        "tarih": "050519",
        "yer": "GKM"
    }
]
```

#### salon.json

```json
    {
        "koltuk": "a20",
        "pozisyon": "en_on",
        "rezerve": false,
        "satildi": false
    }
```

#### satilan.json / rezerve.json

```json

[
    {
        "eposta": "sadfsa@dsafdsaf.co",
        "isim": "Ahmet Y\u0131lmaz",
        "koltuk": "e5",
        "telefon": "05353264326",
        "tip": "ogr"
    }
]

```

## Kurulum

#### Gereksinimler

* Flask
* json
* shutil 


## Lisans


    tessera-api - a ticket automation for bogazici university
    Copyright (C) 2019  Özcan Oğuz

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.